package com.jtny.nytb.equipment.vo.dataparam;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.NumberFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.jtny.component.entity.BaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * @author 智慧能源中心 - 伍天宇
 * @package com.jtny.nytb.equipment.vo.dataparam
 * @fileName AlgorithmExcelVO.java
 * @createTime 2023年10月10日 11:03
 * @Copyright© 2023 jtny
 * 江投能源技术研究院 版权所有
 */
@Data
@ExcelIgnoreUnannotated
@ApiModel("算法ExcelVO对象")
public class AlgorithmExcelVO extends BaseDTO implements DataParamCommonVO, Serializable {

    /**
     * 参量名称
     */
    @ExcelProperty(value = "参量名称")
    @ColumnWidth(30)
    @ApiModelProperty("参量名称")
    private String dataParamName;

    /**
     * 数据参量id
     */
    @ApiModelProperty(value = "数据参量id")
    private Long dataParamId;

    /**
     * 算法公式id·
     */
    @ApiModelProperty(value = "算法公式id")
    private Long algorithmId;

    /**
     * 算法名称
     */
    @ExcelProperty(value = "算法名称")
    @ColumnWidth(30)
    @ApiModelProperty("算法名称")
    private String algorithmName;

    /**
     * 算法公式配置方案
     */
    @ApiModelProperty(value = "算法公式配置方案")
    private String algorithmConfigurationScheme;

    /**
     * 算法公式描述
     */
    @ApiModelProperty(value = "算法公式描述")
    private String algorithmDescription;

    /**
     * 记点频率
     */
    @ExcelProperty(value = "记点频率(数字)")
    @NumberFormat
    @ColumnWidth(30)
    @ApiModelProperty(value = "记点频率", required = true)
    private Integer frequency;

    /**
     * 记点频率单位
     */
    @ExcelProperty(value = "记点频率单位")
    @ColumnWidth(30)
    @ApiModelProperty(value = "记点频率单位", required = true)
    private String frequencyUnit;

    /**
     * 算法计算公式
     */
    @ApiModelProperty(value = "算法计算公式")
    private String algorithmFormula;

    /**
     * 算法脚本路径
     */
    @ApiModelProperty(value = "算法脚本路径")
    private String scriptPath;

    /**
     * 算法请求方式
     */
    @ApiModelProperty(value = "算法请求方式")
    private String requestType;

    /**
     * 算法小数点保留个数
     */
    @ApiModelProperty(value = "算法小数点保留个数")
    private Integer algorithmAccuracyDigit;
}
